A Dynamic Deadlock Prediction, Confirmation and Fixing Framework for Multithreaded Programs
نویسنده
چکیده
Deadlocks widely exist in real-world multithreaded programs. Existing predictive strategies are not consistently scalable; existing confirmation strategies may miss to trigger deadlocks, and existing fixing strategies may incur false positives or high runtime overheads. This paper presents an overview of my approach to automatic deadlock prediction, confirmation, and fixing.
منابع مشابه
Gadara: Dynamic Deadlock Avoidance for Multithreaded Programs
Deadlock is an increasingly pressing concern as the multicore revolution forces parallel programming upon the average programmer. Existing approaches to deadlock impose onerous burdens on developers, entail high runtime performance overheads, or offer no help for unmodified legacy code. Gadara automates dynamic deadlock avoidance for conventional multithreaded programs. It employs whole-program...
متن کاملConcurrency bugs in multithreaded software: modeling and analysis using Petri nets
In this paper, we apply discrete-event system techniques to model and analyze the execution of concurrent software. The problem of interest is deadlock avoidance in shared-memory multithreaded programs. We employ Petri nets to systematically model multithreaded programs with lock acquisition and release operations. We define a new class of Petri nets, called Gadara nets, that arises from this m...
متن کاملDetection of deadlock potentials in multithreaded programs
potentials in multithreaded programs R. Agarwal S. Bensalem E. Farchi K. Havelund Y. Nir-Buchbinder S. D. Stoller S. Ur L. Wang Concurrent programs are well known for containing errors that are difficult to detect, reproduce, and diagnose. Deadlock is a common concurrency error, which occurs when a set of threads are blocked, due to each attempting to acquire a lock held by another. This paper ...
متن کاملDebugging Multithreaded Programs
A multithreaded program with a bug may behave nondeterministically, and this nondeterminism typically makes the bug hard to localize. This thesis presents a debugging tool, the Nondeterminator-2, which automatically finds certain nondeterminacy bugs in programs coded in the Cilk multithreaded language. Specifically, the Nondeterminator-2 finds "dag races," which occur when two logically paralle...
متن کاملLockout: Efficient Testing for Deadlock Bugs
Deadlocks are hard to find via traditional testing, and they manifest rarely during program execution. We introduce Lockout, a technique and a tool that increases the probability of deadlock manifestation in multithreaded programs, while preserving the program semantics and requiring no perturbation to the runtime and the testing infrastructure. Lockout produces binaries that are more prone to ...
متن کامل